

set (
    HEADERS
    ce.h
    ce3rdpersoncamera.h
    cecamera.h
    ceclipper.h
    ceeffect.h
    ceengine.cpp
    ceexport.h
    cekeyboard.h
    cemacros.h
    cematerial.h
    cematerialmanager.h
    cemouse.h
    cenode.h
    ceprojector.h
    cepostprocessrenderer.h
    cerange.h
    cerendercontroller.h
    cerenderer.h
    cetimer.h
    cevirtualclock.h
    cexml.h
    cexmlhelper.h
    idynamiccontent.h
    igeometry.h
    igeometryanimator.h
    ilodsolver.h
    imorphmesh.h
    inodeanimator.h
    iviewport.h
    )

set (
    HEADERS_SCENEGRAPH
    ceboundingbox.h
    cegeometrynode.h
    celightnode.h
    celodnodecollection.h
    cenodecollection.h
    ceparticelnode.h
    cerenderenv.h
    cescene.h
    cesector.h
    cetransform.h
    ceupdateenv.h
    )

set (
    HEADERS_GEOMETRY
    ceinstancedmesh.h
    cemorphmesh.h
    ceparticelmesh.h
    cerendermesh.h
    ceskeleton.h
    ceterrainmesh.h
    )

set (
	HEADERS_PHYSICS
	cemotionstate.h
	cephysics.h
	)

set (
    SOURCES
    ce3rdpersoncamera.cpp
    cecamera.cpp
    ceclipper.cpp
    ceengine.cpp
    ceeffect.cpp
    cekeyboard.cpp
    cematerial.cpp
    cematerialmanager.cpp
    cemouse.cpp
    cepostprocessrenderer.cpp
    ceprojector.cpp
    cerendercontroller.cpp
    cetimer.cpp
    cevirtualclock.cpp
    cexml.cpp
    cexmlhelper.cpp
    )

set (
    SOURCES_SCENEGRAPH
    ceboundingbox.cpp
    cegeometrynode.cpp
    celodnodecollection.cpp
    cenode.cpp
    cenodecollection.cpp
    ceparticelnode.cpp
    cescene.cpp
    cesector.cpp
    cetransform.cpp
    )

set (
    SOURCES_GEOMETRY
    ceinstancedmesh.cpp
    cemorphmesh.cpp
    ceparticelmesh.cpp
    cerendermesh.cpp
    ceskeleton.cpp
    ceterrainmesh.cpp
    )

set (
	SOURCES_PHYSICS
	cemotionstate.cpp
	cephysics.cpp
	)


set (
    MATERIALS
    ../../media/materials/block_dirt.xml
    ../../media/materials/dust_particel.xml
    ../../media/materials/dust_particel2.xml
    ../../media/materials/grass.xml
    ../../media/materials/material.xml
    ../../media/materials/terrain.xml
    )

set (
    SHADERS
    ../../media/shaders/grass.fx
    ../../media/shaders/particel.fx
    ../../media/shaders/pptest0.fx
    ../../media/shaders/simple.fx
    ../../media/shaders/test.fx
    )

set (
    TEXTURES
    ../../media/textures/bump_z.jpg
    ../../media/textures/dirt01.jpg
    ../../media/textures/dust.png
    ../../media/textures/dust2.png
    ../../media/textures/grassWalpha.tga
    ../../media/textures/grass_1024.jpg
    ../../media/textures/noise.jpg
    ../../media/textures/rockwall.tga
    ../../media/textures/rockwall_NH.tga
    ../../media/textures/rockwall_SPEC.tga
    ../../media/textures/spec_white.jpg
    ../../media/textures/terr_dirt_grass.jpg
    )



source_group (
    "General\\c++"
    FILES
    ${SOURCES}
    )
source_group (
    "General\\h"
    FILES
    ${HEADERS}
    )

source_group (
    "Scenegraph\\c++"
    FILES
    ${SOURCES_SCENEGRAPH}
    )

source_group (
    "Scenegraph\\h"
    FILES
    ${HEADERS_SCENEGRAPH}
    )

source_group (
    "Geometry\\c++"
    FILES
    ${SOURCES_GEOMETRY}
    )

source_group (
    "Geometry\\h"
    FILES
    ${HEADERS_GEOMETRY}
    )


source_group (
    "Media\\Materials"
    FILES
    ${MATERIALS}
    )

source_group (
    "Media\\Shaders"
    FILES
    ${SHADERS}
    )

source_group (
    "Media\\Textures"
    FILES
    ${TEXTURES}
    )

source_group (
	"Physics\\c++"
	FILES
	${SOURCES_PHYSICS}
	)

source_group (
	"Physics\\h"
	FILES
	${HEADERS_PHYSICS}
	)


add_definitions(-DCE_GFX_EXPORT)

include_directories (
    ${DIRECTX9_INCLUDE_DIR}
    ${LIBXML2_INCLUDE_DIR}
    ${BULLET_INCLUDE_DIRS}
    )

add_library (
    cegfx
	  SHARED
    ${SOURCES}
    ${SOURCES_SCENEGRAPH}
    ${SOURCES_GEOMETRY}
	  ${SOURCES_PHYSICS}
    ${HEADERS}
    ${HEADERS_SCENEGRAPH}
    ${HEADERS_GEOMETRY}
	  ${HEADERS_PHYSICS}
    ${MATERIALS}
    ${SHADERS}
    ${TEXTURES}
    )



target_link_libraries (
    cegfx
	cecore
    ${DIRECTX9_LIBS}
    ${LIBXML2_LIBRARIES}
    ${BULLET_LIBRARIES}
    )

